package com.kehutong.common.errcode;

import org.coraframework.json.JSONObject;
import org.coraframework.util.IntHashMap;

public enum ErrorCode {
	
	WORK_1(-1, "系统繁忙", "服务器暂不可用，建议稍候重试。建议重试次数不超过3次。"), 
	WORK_OK(0, "请求成功", "接口调用成功"), 
	WORK_40001(40001, "不合法的secret参数", "secret在应用详情/通讯录管理助手可查看"), 
	WORK_40003(40003, "无效的UserID", "查看帮助"), 
	WORK_40004(40004, "不合法的媒体文件类型", "不满足系统文件要求。参考：上传的媒体文件限制"), 
	WORK_40005(40005, "不合法的type参数", "合法的type取值，参考：上传临时素材"), 
	WORK_40006(40006, "不合法的文件大小", "系统文件要求，参考：上传的媒体文件限制"), 
	WORK_40007(40007, "不合法的media_id参数", "查看帮助"), 
	WORK_40008(40008, "不合法的msgtype参数", "合法的msgtype取值，参考：消息类型"), 
	WORK_40009(40009, "上传图片大小不是有效值", "图片大小的系统限制，参考上传的媒体文件限制"), 
	WORK_40011(40011, "上传视频大小不是有效值", "视频大小的系统限制，参考上传的媒体文件限制"), 
	WORK_40013(40013, "不合法的CorpID", "需确认CorpID是否填写正确，在 web管理端-设置 可查看"), 
	WORK_40014(40014, "不合法的access_token", "查看帮助"), 
	WORK_40016(40016, "不合法的按钮个数", "菜单按钮1-3个"), 
	WORK_40017(40017, "不合法的按钮类型", "支持的类型，参考：按钮类型"), 
	WORK_40018(40018, "不合法的按钮名字长度", "长度应不超过16个字节"), 
	WORK_40019(40019, "不合法的按钮KEY长度", "长度应不超过128字节"), 
	WORK_40020(40020, "不合法的按钮URL长度", "长度应不超过1024字节"), 
	WORK_40022(40022, "不合法的子菜单级数", "只能包含一级菜单和二级菜单"), 
	WORK_40023(40023, "不合法的子菜单按钮个数", "子菜单按钮1-5个"), 
	WORK_40024(40024, "不合法的子菜单按钮类型", "支持的类型，参考：按钮类型"), 
	WORK_40025(40025, "不合法的子菜单按钮名字长度", "支持的类型，参考：按钮类型"), 
	WORK_40026(40026, "不合法的子菜单按钮KEY长度", "-"), 
	WORK_40027(40027, "不合法的子菜单按钮URL长度", "长度应不超过1024字节"), 
	WORK_40029(40029, "不合法的oauth_code", "查看帮助"), 
	WORK_40031(40031, "不合法的UserID列表", "指定的UserID列表，至少存在一个UserID不在通讯录中"), 
	WORK_40032(40032, "不合法的UserID列表长度", "查看帮助"), 
	WORK_40033(40033, "不合法的请求字符", "不能包含\\uxxxx格式的字符"), 
	WORK_40035(40035, "不合法的参数", "查看帮助"), 
	WORK_40039(40039, "不合法的url长度", "url长度限制1024个字节"), 
	WORK_40050(40050, "chatid不存在", "会话需要先创建后，才可修改会话详情或者发起聊天"), 
	WORK_40054(40054, "不合法的子菜单url域名", "查看帮助"), 
	WORK_40055(40055, "不合法的菜单url域名", "查看帮助"), 
	WORK_40056(40056, "不合法的agentid", "查看帮助"), 
	WORK_40057(40057, "不合法的callbackurl或者callbackurl验证失败", "可自助到开发调试工具重现"), 
	WORK_40058(40058, "不合法的参数", "传递参数不符合系统要求，需要参照具体API接口说明"), 
	WORK_40059(40059, "不合法的上报地理位置标志位", "开关标志位只能填 0 或者 1"), 
	WORK_40063(40063, "参数为空", "查看帮助"), 
	WORK_40066(40066, "不合法的部门列表", "部门列表为空，或者至少存在一个部门ID不存在于通讯录中"), 
	WORK_40068(40068, "不合法的标签ID", "标签ID未指定，或者指定的标签ID不存在"), 
	WORK_40070(40070, "指定的标签范围结点全部无效", "查看帮助"), 
	WORK_40071(40071, "不合法的标签名字", "标签名字已经存在"), 
	WORK_40072(40072, "不合法的标签名字长度", "不允许为空，最大长度限制为32个字（汉字或英文字母）"), 
	WORK_40073(40073, "不合法的openid", "openid不存在，需确认获取来源"), 
	WORK_40074(40074, "news消息不支持保密消息类型", "图文消息支持保密类型需改用mpnews"), 
	WORK_40077(40077, "不合法的pre_auth_code参数", "预授权码不存在，参考：获取预授权码"), 
	WORK_40078(40078, "不合法的auth_code参数", "需确认获取来源，并且只能消费一次"), 
	WORK_40080(40080, "不合法的suite_secret", "套件secret可在第三方管理端套件详情查看"), 
	WORK_40082(40082, "不合法的suite_token", "查看帮助"), 
	WORK_40083(40083, "不合法的suite_id", "suite_id不存在"), 
	WORK_40084(40084, "不合法的permanent_code参数", "查看帮助"), 
	WORK_40085(40085, "不合法的的suite_ticket参数", "suite_ticket不存在或者已失效"), 
	WORK_40086(40086, "不合法的第三方应用appid", "至少有一个不存在应用id"), 
	WORK_40088(40088, "jobid不存在", "请检查 jobid 来源"), 
	WORK_40089(40089, "批量任务的结果已清理", "系统仅保存最近5次批量任务的结果。可在通讯录查看实际导入情况"), 
	WORK_40091(40091, "secret不合法", "可能用了别的企业的secret"), 
	WORK_40092(40092, "导入文件存在不合法的内容", "查看帮助"), 
	WORK_40093(40093, "jsapi签名错误", "请检查用于签名的jsapi_ticket是否是正确的，是否过期。可以通过获取相应jsapi_ticket接口获取当前的jsapi_ticket跟用于签名的jsapi_ticket比对是否一致，若jsapi_ticket还在有效期内，当前获取到的jsapi_ticket是一致的。若jsapi_ticket没问题，请检查用于签名的url参数是不是正确的， url（当前网页的URL， 不包含#及其后面部分）。"), 
	WORK_40094(40094, "不合法的URL", "缺少主页URL参数，或者URL不合法（链接需要带上协议头，以 http:// 或者 https:// 开头）"), 
	WORK_40096(40096, "不合法的外部联系人userid", "-"), 
	WORK_40097(40097, "该成员尚未离职", "离职成员外部联系人转移接口要求转出用户必须已经离职"), 
	WORK_40098(40098, "接替成员尚未实名认证", "离职成员外部联系人转移接口要求接替成员已实名认证"), 
	WORK_40099(40099, "接替成员的外部联系人数量已达上限", "-"), 
	WORK_40100(40100, "此用户的外部联系人已经在转移流程中", "-"), 
	WORK_40102(40102, "域名或IP不可与应用市场上架应用重复", "-"), 
	WORK_40123(40123, "上传临时图片素材，图片格式非法", "请确认上传的内容是否为合法的图片内容"), 
	WORK_41001(41001, "缺少access_token参数", "-"), 
	WORK_41002(41002, "缺少corpid参数", "-"), 
	WORK_41004(41004, "缺少secret参数", "-"), 
	WORK_41006(41006, "缺少media_id参数", "media_id为调用接口必填参数，请确认是否有传递"), 
	WORK_41008(41008, "缺少auth code参数", "-"), 
	WORK_41009(41009, "缺少userid参数", "-"), 
	WORK_41010(41010, "缺少url参数", "-"), 
	WORK_41011(41011, "缺少agentid参数", "-"), 
	WORK_41016(41016, "缺少title参数", "发送图文消息，标题是必填参数。请确认参数是否有传递。"), 
	WORK_41019(41019, "缺少 department 参数", "查看帮助"), 
	WORK_41017(41017, "缺少tagid参数", "-"), 
	WORK_41021(41021, "缺少suite_id参数", "-"), 
	WORK_41022(41022, "缺少suite_access_token参数", "-"), 
	WORK_41023(41023, "缺少suite_ticket参数", "-"), 
	WORK_41024(41024, "缺少secret参数", "-"), 
	WORK_41025(41025, "缺少permanent_code参数", "-"), 
	WORK_41033(41033, "缺少 description 参数", "发送文本卡片消息接口，description 是必填字段"), 
	WORK_41035(41035, "缺少外部联系人userid参数", "-"), 
	WORK_41036(41036, "不合法的企业对外简称", "企业对外简称必须是认证过的，如果要改回默认简称，传空字符串把对外简称清除就可以了"), 
	WORK_41037(41037, "缺少「联系我」type参数", "-"), 
	WORK_41038(41038, "缺少「联系我」scene参数", "-"), 
	WORK_41039(41039, "无效的「联系我」type参数", "-"), 
	WORK_41040(41040, "无效的「联系我」scene参数", "-"), 
	WORK_41041(41041, "「联系我」使用人数超过限制", "默认限制不超过100人(包括部门展开后的人数)"), 
	WORK_41042(41042, "无效的「联系我」style参数", "-"), 
	WORK_41043(41043, "缺少「联系我」config_id参数", "-"), 
	WORK_41044(41044, "无效的「联系我」config_id参数", "-"), 
	WORK_41045(41045, "API添加「联系我」达到数量上限", "-"), 
	WORK_41046(41046, "缺少企业群发消息id", "-"), 
	WORK_41047(41047, "无效的企业群发消息id", "-"), 
	WORK_41048(41048, "无可发送的客户", "-"), 
	WORK_41049(41049, "缺少欢迎语code参数", "-"), 
	WORK_41050(41050, "无效的欢迎语code", "欢迎语code(welcome_code)具有时效性，须在添加好友后20秒内使用"), 
	WORK_41051(41051, "客户和服务人员已经开始聊天了", "已经开始的聊天的客户不能发送欢迎语"), 
	WORK_41052(41052, "无效的发送时间", "-"), 
	WORK_41053(41053, "客户未同意聊天存档", "须外部联系人同意服务须知后，成员才可发送欢迎语"), 
	WORK_41054(41054, "该用户尚未激活", "-"), 
	WORK_41055(41055, "群欢迎语模板数量达到上限", "-"), 
	WORK_41056(41056, "外部联系人id类型不正确", "-"), 
	WORK_41057(41057, "企业或服务商未绑定微信开发者账号", "-"), 
	WORK_41102(41102, "缺少菜单名", "-"), 
	// TODO 
	WORK_42001(42001, "access_token已过期", "access_token有时效性，需要重新获取一次"), 
	// TODO 
	WORK_42007(42007, "pre_auth_code已过期", "pre_auth_code有时效性，需要重新获取一次"), 
	// TODO 
	WORK_42009(42009, "suite_access_token已过期", "suite_access_token有时效性，需要重新获取一次"), 
	WORK_42012(42012, "jsapi_ticket不可用，一般是没有正确调用接口来创建jsapi_ticket", "如果是agentConfig使用，请特别注意是否是使用”获取应用身份的ticket“来获取jsapi_ticket"), 
	WORK_42013(42013, "小程序未登陆或登录态已经过期", "需要重新走登陆流程"), 
	WORK_42014(42014, "任务卡片消息的task_id不合法", "-"), 
	WORK_42015(42015, "更新的消息的应用与发送消息的应用不匹配", "-"), 
	WORK_42016(42016, "更新的task_id不存在", "-"), 
	WORK_42017(42017, "按钮key值不存在", "-"), 
	WORK_42018(42018, "按钮key值不合法", "-"), 
	WORK_42019(42019, "缺少按钮key值不合法", "-"), 
	WORK_42020(42020, "缺少按钮名称", "-"), 
	WORK_42021(42021, "device_access_token 过期", "-"), 
	WORK_42022(42022, "code已经被使用过。只能使用一次", "-"), 
	WORK_43004(43004, "指定的userid未绑定微信或未关注微工作台（原企业号）", "需要成员使用微信登录企业微信或者关注微工作台才能获取openid"), 
	WORK_43009(43009, "企业未验证主体", "-"), 
	WORK_44001(44001, "多媒体文件为空", "上传格式参考：上传临时素材，确认header和body的内容正确。"), 
	WORK_44004(44004, "文本消息content参数为空", "发文本消息content为必填参数，且不能为空"), 
	WORK_45001(45001, "多媒体文件大小超过限制", "图片不可超过5M；音频不可超过5M；文件不可超过20M"), 
	WORK_45002(45002, "消息内容大小超过限制", "查看帮助"), 
	WORK_45004(45004, "应用description参数长度不符合系统限制", "设置应用若带有description参数，则长度必须为4至120个字符"), 
	WORK_45007(45007, "语音播放时间超过限制", "语音播放时长不能超过60秒"), 
	WORK_45008(45008, "图文消息的文章数量不符合系统限制", "图文消息的文章数量不能超过8条"), 
	// TODO
	WORK_45009(45009, "接口调用超过限制", "查看帮助"), 
	WORK_45022(45022, "应用name参数长度不符合系统限制", "设置应用若带有name参数，则不允许为空，且不超过32个字符"), 
	WORK_45024(45024, "帐号数量超过上限", "查看帮助"), 
	WORK_45026(45026, "触发删除用户数的保护", "限制参考：全量覆盖成员"), 
	WORK_45029(45029, "回包大小超过上限", "查看帮助"), 
	WORK_45032(45032, "图文消息author参数长度超过限制", "最长64个字节"),
	// TODO
	WORK_45033(45033, "接口并发调用超过限制", "查看帮助"), 
	WORK_45034(45034, "url必须有协议头", "在url前面加上协议头 http:// 或 https://"), 
	WORK_46003(46003, "菜单未设置", "菜单需发布后才能获取到数据"), 
	WORK_46004(46004, "指定的用户不存在", "需要确认指定的用户存在于通讯录中"), 
	WORK_48002(48002, "API接口无权限调用", "查看帮助"), 
	WORK_48003(48003, "不合法的suite_id", "确认suite_access_token由指定的suite_id生成"), 
	WORK_48004(48004, "授权关系无效", "可能是无授权或授权已被取消"), 
	WORK_48005(48005, "API接口已废弃", "接口已不再支持，建议改用新接口或者新方案"), 
	WORK_48006(48006, "接口权限被收回", "由于企业长时间未使用应用，接口权限被收回，需企业管理员重新启用"), 
	WORK_50001(50001, "redirect_url未登记可信域名", "查看帮助"), 
	WORK_50002(50002, "成员不在权限范围", "请检查应用或管理组的权限范围"), 
	WORK_50003(50003, "应用已禁用", "查看帮助"), 
	WORK_60001(60001, "部门长度不符合限制", "部门名称不能为空且长度不能超过32个字"), 
	WORK_60003(60003, "部门ID不存在", "需要确认部门ID是否有带，并且存在通讯录中"), 
	WORK_60004(60004, "父部门不存在", "需要确认父亲部门ID是否有带，并且存在通讯录中"), 
	WORK_60005(60005, "部门下存在成员", "不允许删除有成员的部门"), 
	WORK_60006(60006, "部门下存在子部门", "不允许删除有子部门的部门"), 
	WORK_60007(60007, "不允许删除根部门", "-"), 
	WORK_60008(60008, "部门已存在", "部门ID或者部门名称已存在"), 
	WORK_60009(60009, "部门名称含有非法字符", "不能含有 \\:?*“<>| 等字符"), 
	WORK_60010(60010, "部门存在循环关系", "查看帮助"), 
	WORK_60011(60011, "指定的成员/部门/标签参数无权限", "查看帮助"), 
	WORK_60012(60012, "不允许删除默认应用", "默认应用的id为0"), 
	WORK_60020(60020, "访问ip不在白名单之中", "查看帮助"), 
	WORK_60021(60021, "userid不在应用可见范围内", "-"), 
	WORK_60028(60028, "不允许修改第三方应用的主页 URL", "第三方应用类型，不允许通过接口修改该应用的主页 URL"), 
	WORK_60102(60102, "UserID已存在", "-"), 
	WORK_60103(60103, "手机号码不合法", "长度不超过32位，字符仅支持数字，加号和减号"), 
	WORK_60104(60104, "手机号码已存在", "同一个企业内，成员的手机号不能重复。建议更换手机号，或者更新已有的手机记录。"), 
	WORK_60105(60105, "邮箱不合法", "长度不超过64位，且为有效的email格式"), 
	WORK_60106(60106, "邮箱已存在", "同一个企业内，成员的邮箱不能重复。建议更换邮箱，或者更新已有的邮箱记录。"), 
	WORK_60107(60107, "微信号不合法", "微信号格式由字母、数字、”-“、”_“组成，长度为 3-20 字节，首字符必须是字母或”-“或”_“"), 
	WORK_60110(60110, "用户所属部门数量超过限制", "用户同时归属部门不超过20个"), 
	WORK_60111(60111, "UserID不存在", "UserID参数为空，或者不存在通讯录中"), 
	WORK_60112(60112, "成员name参数不合法", "不能为空，且不能超过64字符"), 
	WORK_60123(60123, "无效的部门id", "部门不存在通讯录中"), 
	WORK_60124(60124, "无效的父部门id", "父部门不存在通讯录中"), 
	WORK_60125(60125, "非法部门名字", "不能为空，且不能超过64字节，且不能含有\\:*?”<>|等字符"), 
	WORK_60127(60127, "缺少department参数", "-"), 
	WORK_60129(60129, "成员手机和邮箱都为空", "成员手机和邮箱至少有个非空"), 
	WORK_60132(60132, "is_leader_in_dept和department的元素个数不一致", "-"), 
	WORK_60136(60136, "记录不存在", "-"), 
	WORK_60137(60137, "家长手机号重复", "同一个家校通讯录中，家长的手机号不能重复。建议更换手机号，或者更新已有的手机记录。"), 
	WORK_60203(60203, "不合法的模版ID", "-"), 
	WORK_60204(60204, "模版状态不可用", "-"), 
	WORK_60205(60205, "模版关键词不匹配", "-"), 
	WORK_60206(60206, "该种类型的消息只支持第三方独立应用使用", "-"), 
	WORK_60207(60207, "第三方独立应用只允许发送模板消息", "-"), 
	WORK_60208(60208, "第三方独立应用不支持指定@all，不支持参数toparty和totag", "-"), 
	WORK_65000(65000, "学校已经迁移", "-"), 
	WORK_65001(65001, "无效的关注模式", "-"), 
	WORK_65002(65002, "导入家长信息数量过多", "批量导入家长每次最多1000个"), 
	WORK_65003(65003, "学校尚未迁移", "-"), 
	WORK_65004(65004, "组织架构不存在", "-"), 
	WORK_65005(65005, "无效的同步模式", "-"), 
	WORK_65006(65006, "无效的管理员类型", "-"), 
	WORK_65007(65007, "无效的家校部门类型", "-"), 
	WORK_65008(65008, "无效的入学年份", "-"), 
	WORK_65009(65009, "无效的标准年级类型", "-"), 
	WORK_65010(65010, "此userid并不是学生", "-"), 
	WORK_65011(65011, "家长userid数量超过限制", "每次最多批量处理100个家长"), 
	WORK_65012(65012, "学生userid数量超过限制", "每次最多批量处理10个学生"), 
	WORK_65013(65013, "学生已有家长", "-"), 
	WORK_65014(65014, "非学校企业", "-"), 
	WORK_65015(65015, "父部门类型不匹配", "添加学校部门，需满足层级关机，班级需要以年级为父部门"), 
	WORK_72023(72023, "发票已被其他公众号锁定", "查看帮助"), 
	WORK_72024(72024, "发票状态错误", "reimburse_status状态错误，参考：更新发票状态"), 
	WORK_72037(72037, "存在发票不属于该用户", "只能批量更新该openid的发票，参考：批量更新发票状态"), 
	WORK_80001(80001, "可信域名不正确，或者无ICP备案", "查看帮助"), 
	WORK_81001(81001, "部门下的结点数超过限制（3W）", "-"), 
	WORK_81002(81002, "部门最多15层", "-"), 
	WORK_81003(81003, "标签下节点个数超过30000个", "-"), 
	WORK_81011(81011, "无权限操作标签", "查看帮助"), 
	WORK_81012(81012, "缺失可见范围", "请求没有填写UserID、部门ID、标签ID"), 
	WORK_81013(81013, "UserID、部门ID、标签ID全部非法或无权限", "查看帮助"), 
	WORK_81014(81014, "标签添加成员，单次添加user或party过多", "-"), 
	WORK_81015(81015, "邮箱域名需要跟企业邮箱域名一致", "-"), 
	WORK_81016(81016, "logined_userid字段缺失", "-"), 
	WORK_81017(81017, "items字段大小超过限制（20）", "-"), 
	WORK_81018(81018, "该服务商可获取名字数量配额不足", "-"), 
	WORK_81019(81019, "items数组成员缺少id字段", "-"), 
	WORK_81020(81020, "items数组成员缺少type字段", "-"), 
	WORK_81021(81021, "items数组成员的type字段不合法", "-"), 
	WORK_82001(82001, "指定的成员/部门/标签全部为空", "查看帮助"), 
	WORK_82002(82002, "不合法的PartyID列表长度", "发消息，单次不能超过100个部门"), 
	WORK_82003(82003, "不合法的TagID列表长度", "发消息，单次不能超过100个标签"), 
	WORK_84014(84014, "成员票据过期", "查看帮助"), 
	WORK_84015(84015, "成员票据无效", "确认user_ticket参数来源是否正确。参考接口：根据code获取成员信息"), 
	WORK_84019(84019, "缺少templateid参数", "-"), 
	WORK_84020(84020, "templateid不存在", "确认参数是否有带，并且已创建"), 
	WORK_84021(84021, "缺少register_code参数", "-"), 
	WORK_84022(84022, "无效的register_code参数", "-"), 
	WORK_84023(84023, "不允许调用设置通讯录同步完成接口", "-"), 
	WORK_84024(84024, "无注册信息", "查看帮助"), 
	WORK_84025(84025, "不符合的state参数", "必须是[a-zA-Z0-9]的参数值，长度不可超过128个字节"), 
	WORK_84052(84052, "缺少caller参数", "-"), 
	WORK_84053(84053, "缺少callee参数", "-"), 
	WORK_84054(84054, "缺少auth_corpid参数", "-"), 
	WORK_84055(84055, "超过拨打公费电话频率", "同一个客服5秒内只能调用api拨打一次公费电话"), 
	WORK_84056(84056, "被拨打用户安装应用时未授权拨打公费电话权限", "-"), 
	WORK_84057(84057, "公费电话余额不足", "-"), 
	WORK_84058(84058, "caller 呼叫号码不支持", "-"), 
	WORK_84059(84059, "号码非法", "-"), 
	WORK_84060(84060, "callee 呼叫号码不支持", "-"), 
	WORK_84061(84061, "不存在外部联系人的关系", "-"), 
	WORK_84062(84062, "未开启公费电话应用", "-"), 
	WORK_84063(84063, "caller不存在", "-"), 
	WORK_84064(84064, "callee不存在", "-"), 
	WORK_84065(84065, "caller跟callee电话号码一致", "不允许自己拨打给自己"), 
	WORK_84066(84066, "服务商拨打次数超过限制", "单个企业管理员，在一天（以上午10:00为起始时间）内，对应单个服务商，只能被呼叫【4】次。"), 
	WORK_84067(84067, "管理员收到的服务商公费电话个数超过限制", "单个企业管理员，在一天（以上午10:00为起始时间）内，一共只能被【3】个服务商成功呼叫。"), 
	WORK_84069(84069, "拨打方被限制拨打公费电话", "-"), 
	WORK_84070(84070, "不支持的电话号码", "拨打方或者被拨打方电话号码不支持"), 
	WORK_84071(84071, "不合法的外部联系人授权码", "非法或者已经消费过"), 
	WORK_84072(84072, "应用未配置客服", "-"), 
	WORK_84073(84073, "客服userid不在应用配置的客服列表中", "-"), 
	WORK_84074(84074, "没有外部联系人权限", "-"), 
	WORK_84075(84075, "不合法或过期的authcode", "-"), 
	WORK_84076(84076, "缺失authcode", "-"), 
	WORK_84077(84077, "订单价格过高，无法受理", "-"), 
	WORK_84078(84078, "购买人数不正确", "-"), 
	WORK_84079(84079, "价格策略不存在", "-"), 
	WORK_84080(84080, "订单不存在", "-"), 
	WORK_84081(84081, "存在未支付订单", "-"), 
	WORK_84082(84082, "存在申请退款中的订单", "-"), 
	WORK_84083(84083, "非服务人员", "-"), 
	WORK_84084(84084, "非跟进用户", "-"), 
	WORK_84085(84085, "应用已下架", "-"), 
	WORK_84086(84086, "订单人数超过可购买最大人数", "-"), 
	WORK_84087(84087, "打开订单支付前禁止关闭订单", "-"), 
	WORK_84088(84088, "禁止关闭已支付的订单", "-"), 
	WORK_84089(84089, "订单已支付", "-"), 
	WORK_84090(84090, "缺失user_ticket", "-"), 
	WORK_84091(84091, "订单价格不可低于下限", "-"), 
	WORK_84092(84092, "无法发起代下单操作", "-"), 
	WORK_84093(84093, "代理关系已占用，无法代下单", "-"), 
	WORK_84094(84094, "该应用未配置代理分润规则，请先联系应用服务商处理", "-"), 
	WORK_84095(84095, "免费试用版，无法扩容", "-"), 
	WORK_84096(84096, "免费试用版，无法续期", "-"), 
	WORK_84097(84097, "当前企业有未处理订单", "-"), 
	WORK_84098(84098, "固定总量，无法扩容", "-"), 
	WORK_84099(84099, "非购买状态，无法扩容", "-"), 
	WORK_84100(84100, "未购买过此应用，无法续期", "-"), 
	WORK_84101(84101, "企业已试用付费版本，无法全新购买", "-"), 
	WORK_84102(84102, "企业当前应用状态已过期，无法扩容", "-"), 
	WORK_84103(84103, "仅可修改未支付订单", "-"), 
	WORK_84104(84104, "订单已支付，无法修改", "-"), 
	WORK_84105(84105, "订单已被取消，无法修改", "-"), 
	WORK_84106(84106, "企业含有该应用的待支付订单，无法代下单", "-"), 
	WORK_84107(84107, "企业含有该应用的退款中订单，无法代下单", "-"), 
	WORK_84108(84108, "企业含有该应用的待生效订单，无法代下单", "-"), 
	WORK_84109(84109, "订单定价不能未0", "-"), 
	WORK_84110(84110, "新安装应用不在试用状态，无法升级为付费版", "-"), 
	WORK_84111(84111, "无足够可用优惠券", "-"), 
	WORK_84112(84112, "无法关闭未支付订单", "-"), 
	WORK_84113(84113, "无付费信息", "-"), 
	WORK_84114(84114, "虚拟版本不支持下单", "-"), 
	WORK_84115(84115, "虚拟版本不支持扩容", "-"), 
	WORK_84116(84116, "虚拟版本不支持续期", "-"), 
	WORK_84117(84117, "在虚拟正式版期内不能扩容", "-"), 
	WORK_84118(84118, "虚拟正式版期内不能变更版本", "-"), 
	WORK_84119(84119, "当前企业未报备，无法进行代下单", "-"), 
	WORK_84120(84120, "当前应用版本已删除", "-"), 
	WORK_84121(84121, "应用版本已删除，无法扩容", "-"), 
	WORK_84122(84122, "应用版本已删除，无法续期", "-"), 
	WORK_84123(84123, "非虚拟版本，无法升级", "-"), 
	WORK_84124(84124, "非行业方案订单，不能添加部分应用版本的订单", "-"), 
	WORK_84125(84125, "购买人数不能少于最少购买人数", "-"), 
	WORK_84126(84126, "购买人数不能多于最大购买人数", "-"), 
	WORK_84127(84127, "无应用管理权限", "-"), 
	WORK_84128(84128, "无该行业方案下全部应用的管理权限", "-"), 
	WORK_84129(84129, "付费策略已被删除，无法下单", "-"), 
	WORK_84130(84130, "订单生效时间不合法", "-"), 
	WORK_84200(84200, "文件转译解析错误", "只支持utf8文件转译，可能是不支持的文件类型或者格式"), 
	WORK_85002(85002, "包含不合法的词语", "-"), 
	WORK_85004(85004, "每企业每个月设置的可信域名不可超过20个", "-"), 
	WORK_85005(85005, "可信域名未通过所有权校验", "查看帮助"), 
	WORK_86001(86001, "参数 chatid 不合法", "-"), 
	WORK_86003(86003, "参数 chatid 不存在", "-"), 
	WORK_86004(86004, "参数 群名不合法", "-"), 
	WORK_86005(86005, "参数 群主不合法", "-"), 
	WORK_86006(86006, "群成员数过多或过少", "-"), 
	WORK_86007(86007, "不合法的群成员", "-"), 
	WORK_86008(86008, "非法操作非自己创建的群", "-"), 
	WORK_86101(86101, "仅群主才有操作权限", "-"), 
	WORK_86201(86201, "参数 需要chatid", "-"), 
	WORK_86202(86202, "参数 需要群名", "-"), 
	WORK_86203(86203, "参数 需要群主", "-"), 
	WORK_86204(86204, "参数 需要群成员", "-"), 
	WORK_86205(86205, "参数 字符串chatid过长", "-"), 
	WORK_86206(86206, "参数 数字chatid过大", "-"), 
	WORK_86207(86207, "群主不在群成员列表", "-"), 
	WORK_86215(86215, "会话ID已经存在", "-"), 
	WORK_86216(86216, "存在非法会话成员ID", "查看帮助"), 
	WORK_86217(86217, "会话发送者不在会话成员列表中", "会话的发送者，必须是会话的成员列表之一"), 
	WORK_86220(86220, "指定的会话参数不合法", "查看帮助"), 
	WORK_86224(86224, "不是受限群，不允许使用该接口", "-"), 
	WORK_90001(90001, "未认证摇一摇周边", "-"), 
	WORK_90002(90002, "缺少摇一摇周边ticket参数", "-"), 
	WORK_90003(90003, "摇一摇周边ticket参数不合法", "-"), 
	WORK_90100(90100, "非法的对外属性类型", "-"), 
	WORK_90101(90101, "对外属性：文本类型长度不合法", "文本长度不可超过12个UTF8字符"), 
	WORK_90102(90102, "对外属性：网页类型标题长度不合法", "标题长度不可超过12个UTF8字符"), 
	WORK_90103(90103, "对外属性：网页url不合法", "-"), 
	WORK_90104(90104, "对外属性：小程序类型标题长度不合法", "标题长度不可超过12个UTF8字符"), 
	WORK_90105(90105, "对外属性：小程序类型pagepath不合法", "-"), 
	WORK_90106(90106, "对外属性：请求参数不合法", "-"), 
	WORK_90200(90200, "缺少小程序appid参数", "-"), 
	WORK_90201(90201, "小程序通知的content_item个数超过限制", "item个数不能超过10个"), 
	WORK_90202(90202, "小程序通知中的key长度不合法", "不能为空或超过10个汉字"), 
	WORK_90203(90203, "小程序通知中的value长度不合法", "不能为空或超过30个汉字"), 
	WORK_90204(90204, "小程序通知中的page参数不合法", "-"), 
	WORK_90206(90206, "小程序未关联到企业中", "-"), 
	WORK_90207(90207, "不合法的小程序appid", "-"), 
	WORK_90208(90208, "小程序appid不匹配", "-"), 
	WORK_90300(90300, "orderid 不合法", "-"), 
	WORK_90302(90302, "付费应用已过期", "-"), 
	WORK_90303(90303, "付费应用超过最大使用人数", "-"), 
	WORK_90304(90304, "订单中心服务异常，请稍后重试", "-"), 
	WORK_90305(90305, "参数错误，errmsg中有提示具体哪个参数有问题", "-"), 
	WORK_90306(90306, "商户设置不合法，详情请见errmsg", "-"), 
	WORK_90307(90307, "登录态过期", "-"), 
	WORK_90308(90308, "在开启IP鉴权的前提下，识别为无效的请求IP", "-"), 
	WORK_90309(90309, "订单已经存在，请勿重复下单", "-"), 
	WORK_90310(90310, "找不到订单", "-"), 
	WORK_90311(90311, "关单失败,  可能原因：该单并没被拉起支付页面; 已经关单；已经支付；渠道失败；单处于保护状态；等等", "-"), 
	WORK_90312(90312, "退款请求失败,  详情请看errmsg", "-"), 
	WORK_90313(90313, "退款调用频率限制，超过规定的阈值", "-"), 
	WORK_90314(90314, "订单状态错误，可能未支付，或者当前状态操作受限", "-"), 
	WORK_90315(90315, "退款请求失败，主键冲突，请核实退款refund_id是否已使用", "-"), 
	WORK_90316(90316, "退款原因编号不对", "-"), 
	WORK_90317(90317, "尚未注册成为供应商", "-"), 
	WORK_90318(90318, "参数nonce_str 为空或者重复，判定为重放攻击", "-"), 
	WORK_90319(90319, "时间戳为空或者与系统时间间隔太大", "-"), 
	WORK_90320(90320, "订单token无效", "-"), 
	WORK_90321(90321, "订单token已过有效时间", "-"), 
	WORK_90322(90322, "旧套件（包含多个应用的套件）不支持支付系统", "-"), 
	WORK_90323(90323, "单价超过限额", "-"), 
	WORK_90324(90324, "商品数量超过限额", "-"), 
	WORK_90325(90325, "预支单已经存在", "-"), 
	WORK_90326(90326, "预支单单号非法", "-"), 
	WORK_90327(90327, "该预支单已经结算下单", "-"), 
	WORK_90328(90328, "结算下单失败，详情请看errmsg", "-"), 
	WORK_90329(90329, "该订单号已经被预支单占用", "-"), 
	WORK_90330(90330, "创建供应商失败", "-"), 
	WORK_90331(90331, "更新供应商失败", "-"), 
	WORK_90332(90332, "还没签署合同", "-"), 
	WORK_90333(90333, "创建合同失败", "-"), 
	WORK_90338(90338, "已经过了可退款期限", "-"), 
	WORK_90339(90339, "供应商主体名包含非法字符", "-"), 
	WORK_90340(90340, "创建客户失败，可能信息真实性校验失败", "-"), 
	WORK_90341(90341, "退款金额大于付款金额", "-"), 
	WORK_90342(90342, "退款金额超过账户余额", "-"), 
	WORK_90343(90343, "退款单号已经存在", "-"), 
	WORK_90344(90344, "指定的付款渠道无效", "-"), 
	WORK_90345(90345, "超过5w人民币不可指定微信支付渠道", "-"), 
	WORK_90346(90346, "同一单的退款次数超过限制", "-"), 
	WORK_90347(90347, "退款金额不可为0", "-"), 
	WORK_90348(90348, "管理端没配置支付密钥", "-"), 
	WORK_90349(90349, "记录数量太大", "-"), 
	WORK_90350(90350, "银行信息真实性校验失败", "-"), 
	WORK_90351(90351, "应用状态异常", "-"), 
	WORK_90352(90352, "延迟试用期天数超过限制", "-"), 
	WORK_90353(90353, "预支单列表不可为空", "-"), 
	WORK_90354(90354, "预支单列表数量超过限制", "-"), 
	WORK_90355(90355, "关联有退款预支单，不可删除", "-"), 
	WORK_90356(90356, "不能0金额下单", "-"), 
	WORK_90357(90357, "代下单必须指定支付渠道", "-"), 
	WORK_90358(90358, "预支单或代下单，不支持部分退款", "-"), 
	WORK_90359(90359, "预支单与下单者企业不匹配", "-"), 
	WORK_90456(90456, "必须指定组织者", "-"), 
	WORK_90457(90457, "日历ID异常", "-"), 
	WORK_90458(90458, "日历ID列表不能为空", "-"), 
	WORK_90459(90459, "日历已删除", "-"), 
	WORK_90460(90460, "日程已删除", "-"), 
	WORK_90461(90461, "日程ID异常", "-"), 
	WORK_90462(90462, "日程ID列表不能为空", "-"), 
	WORK_90463(90463, "不能变更组织者", "-"), 
	WORK_90464(90464, "参与者数量超过限制", "-"), 
	WORK_90465(90465, "不支持的重复类型", "-"), 
	WORK_90466(90466, "不能操作别的应用创建的日历/日程", "-"), 
	WORK_90467(90467, "星期参数异常", "-"), 
	WORK_90468(90468, "不能变更组织者", "-"), 
	WORK_90469(90469, "每页大小超过限制", "-"), 
	WORK_90470(90470, "页数异常", "-"), 
	WORK_90471(90471, "提醒时间异常", "-"), 
	WORK_90472(90472, "没有日历/日程操作权限", "-"), 
	WORK_90473(90473, "颜色参数异常", "-"), 
	WORK_90474(90474, "组织者不能与参与者重叠", "-"), 
	WORK_90475(90475, "不是组织者的日历", "-"), 
	WORK_90500(90500, "群主并未离职", "-"), 
	WORK_90501(90501, "该群不是客户群", "-"), 
	WORK_90502(90502, "群主已经离职", "-"), 
	WORK_90503(90503, "满人 & 99个微信成员，没办法踢，要客户端确认", "-"), 
	WORK_90504(90504, "群主没变", "-"), 
	WORK_90507(90507, "离职群正在继承处理中", "-"), 
	WORK_90508(90508, "离职群已经继承", "-"), 
	WORK_91040(91040, "获取ticket的类型无效", "查看帮助"), 
	WORK_92000(92000, "成员不在应用可见范围之内", "-"), 
	WORK_92001(92001, "应用没有敏感信息权限", "-"), 
	WORK_92002(92002, "不允许跨企业调用", "-"), 
	WORK_93000(93000, "机器人webhookurl不合法或者机器人已经被移除出群", "-"), 
	WORK_93004(93004, "机器人被停用", "-"), 
	WORK_93008(93008, "不在群里", "-"), 
	WORK_94000(94000, "应用未开启工作台自定义模式", "请在管理端后台应用详情里面开启自定义工作台模式"), 
	WORK_94001(94001, "不合法的type类型", "-"), 
	WORK_94002(94002, "缺少keydata字段", "-"), 
	WORK_94003(94003, "keydata的items列表长度超出限制", "-"), 
	WORK_94005(94005, "缺少list字段", "-"), 
	WORK_94006(94006, "list的items列表长度超出限制", "-"), 
	WORK_94007(94007, "缺少webview字段", "-"), 
	WORK_94008(94008, "应用未设置自定义工作台模版类型", "-"), 
	WORK_301002(301002, "无权限操作指定的应用", "查看帮助"), 
	WORK_301005(301005, "不允许删除创建者", "创建者不允许从通讯录中删除。如果需要删除该成员，需要先在WEB管理端转移创建者身份。"), 
	WORK_301012(301012, "参数 position 不合法", "长度不允许超过128个字符"), 
	WORK_301013(301013, "参数 telephone 不合法", "telephone必须由1-32位的纯数字或’-‘号组成。"), 
	WORK_301014(301014, "参数 english_name 不合法", "参数如果有传递，不允许为空字符串，同时不能超过64字节，只能是由字母、数字、点(.)、减号(-)、空格或下划线(_)组成"), 
	WORK_301015(301015, "参数 mediaid 不合法", "请检查 mediaid 来源，应该通过上传临时素材的图片类型获得mediaid"), 
	WORK_301016(301016, "上传语音文件不符合系统要求", "语音文件的系统限制，参考上传的媒体文件限制"), 
	WORK_301017(301017, "上传语音文件仅支持AMR格式", "语音文件的系统限制，参考上传的媒体文件限制"), 
	WORK_301021(301021, "参数 userid 无效", "至少有一个userid不存在于通讯录中"), 
	WORK_301022(301022, "获取打卡数据失败", "系统失败，可重试处理"), 
	WORK_301023(301023, "useridlist非法或超过限额", "列表数量不能为0且不超过100"), 
	WORK_301024(301024, "获取打卡记录时间间隔超限", "保证开始时间大于0 且结束时间大于 0 且结束时间大于开始时间，且间隔少于一个月"), 
	WORK_301025(301025, "审批开放接口参数错误", "请参考参数说明正确填写"), 
	WORK_301036(301036, "不允许更新该用户的userid", "查看帮助"), 
	WORK_302003(302003, "批量导入任务的文件中userid有重复", "-"), 
	WORK_302004(302004, "组织架构不合法（1不是一棵树，2 多个一样的partyid，3 partyid空，4 partyid name 空，5 同一个父节点下有两个子节点 部门名字一样 可能是以上情况，请一一排查）", "-"), 
	WORK_302005(302005, "批量导入系统失败，请重新尝试导入", "-"), 
	WORK_302006(302006, "批量导入任务的文件中partyid有重复", "-"), 
	WORK_302007(302007, "批量导入任务的文件中，同一个部门下有两个子部门名字一样", "-"), 
	WORK_2000002(2000002, "CorpId参数无效", "指定的CorpId不存在"), 
	WORK_600001(600001, "不合法的sn", "sn可能尚未进行登记"), 
	WORK_600002(600002, "设备已注册", "可能设备已经建立过长连接"), 
	WORK_600003(600003, "不合法的硬件activecode", "-"), 
	WORK_600004(600004, "该硬件尚未授权任何企业", "-"), 
	WORK_600005(600005, "硬件Secret无效", "-"), 
	WORK_600007(600007, "缺少硬件sn", "-"), 
	WORK_600008(600008, "缺少nonce参数", "-"), 
	WORK_600009(600009, "缺少timestamp参数", "-"), 
	WORK_600010(600010, "缺少signature参数", "-"), 
	WORK_600011(600011, "签名校验失败", "-"), 
	WORK_600012(600012, "长连接已经注册过设备", "-"), 
	WORK_600013(600013, "缺少activecode参数", "-"), 
	WORK_600014(600014, "设备未网络注册", "-"), 
	WORK_600015(600015, "缺少secret参数", "-"), 
	WORK_600016(600016, "设备未激活", "-"), 
	WORK_600018(600018, "无效的起始结束时间", "-"), 
	WORK_600020(600020, "设备未登录", "-"), 
	WORK_600021(600021, "设备sn已存在", "-"), 
	WORK_600023(600023, "时间戳已失效", "-"), 
	WORK_600024(600024, "固件大小超过5M", "-"), 
	WORK_600025(600025, "固件名为空或者超过20字节", "-"), 
	WORK_600026(600026, "固件信息不存在", "-"), 
	WORK_600027(600027, "非法的固件参数", "-"), 
	WORK_600028(600028, "固件版本已存在", "-"), 
	WORK_600029(600029, "非法的固件版本", "-"), 
	WORK_600030(600030, "缺少固件版本参数", "-"), 
	WORK_600031(600031, "硬件固件不允许升级", "-"), 
	WORK_600032(600032, "无法解析硬件二维码", "-"), 
	WORK_600033(600033, "设备型号id冲突", "-"), 
	WORK_600034(600034, "指纹数据大小超过限制", "-"), 
	WORK_600035(600035, "人脸数据大小超过限制", "-"), 
	WORK_600036(600036, "设备sn冲突", "-"), 
	WORK_600037(600037, "缺失设备型号id", "-"), 
	WORK_600038(600038, "设备型号不存在", "-"), 
	WORK_600039(600039, "不支持的设备类型", "-"), 
	WORK_600040(600040, "打印任务id不存在", "-"), 
	WORK_600041(600041, "无效的offset或limit参数值", "-"), 
	WORK_600042(600042, "无效的设备型号id", "-"), 
	WORK_600043(600043, "门禁规则未设置", "-"), 
	WORK_600044(600044, "门禁规则不合法", "-"), 
	WORK_600045(600045, "设备已订阅企业信息", "-"), 
	WORK_600046(600046, "操作id和用户userid不匹配", "-"), 
	WORK_600047(600047, "secretno的status非法", "请确认是否是使用统一初始secretno的设备，如果是无有正确执行换secretno的流程"), 
	WORK_600048(600048, "无效的指纹算法", "-"), 
	WORK_600049(600049, "无效的人脸识别算法", "-"), 
	WORK_600050(600050, "无效的算法长度", "-"), 
	WORK_600051(600051, "设备过期", "-"), 
	WORK_600052(600052, "无效的文件分块", "-"), 
	WORK_600053(600053, "该链接已经激活", "-"), 
	WORK_600054(600054, "该链接已经订阅", "-"), 
	WORK_600055(600055, "无效的用户类型", "-"), 
	WORK_600056(600056, "无效的健康状态", "-"), 
	WORK_600057(600057, "缺少体温参数", "-"), 
	WORK_610001(610001, "永久二维码超过每个员工5000的限制", "-"), 
	WORK_610003(610003, "scene参数不合法", "有效的scene长度为1~64字符，由英文字母、数字、中划线、下划线以及点号构成"), 
	WORK_610004(610004, "userid不在客户联系配置的使用范围内", "请在管理端后台 客户联系->配置->配置使用范围配置该用户"), 
	
	WORK_700000(700000, "设备产品pid,sn不能为空", "添加设备，产品pid和sn均不能为空"),
	WORK_700001(700001, "添加设备时，sn编号的设备已存在", "sn编号的设备已存在，请勿重复添加"),
	WORK_700002(700002, "设备不存在", "设备不存在"),
	WORK_700003(700003, "启用禁用传入有误，请检查", "切换状态有误，请检查"),
	

	OK(200, "请求成功", "接口调用成功"),
	E201(201, "未登录", "用户未登录"),
	E202(202, "权限不足", "用户没有相应的权限"),
	E203(204, "参数错误", "请求参数不对")
	;
	private static final IntHashMap<ErrorCode> map;
	
	static {
		IntHashMap<ErrorCode> current = new IntHashMap<ErrorCode>(530);
		for (ErrorCode code : ErrorCode.values()) {
			current.put(code.code, code);
		}
		map = current;
	}
	
	public final int code;
	public final String message;
	public final String desc;
	
	private ErrorCode(int code, String message, String desc) {
		this.code = code;
		this.message = message;
		this.desc = desc;
	}
	
	public static ErrorCode of(int code) {
		return map.get(code);
	}
	
	public static ErrorCode of(JSONObject jsonObject, String name) {
		return map.get(jsonObject.getIntValue(name));
	}
}
